package com.ssy.lingxi.workflow.api.model.vo.request;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;

/**
 * 查询流程定义时的参数
 * @author 万宁
 * @version 2.0.0
 * @date 2021-04-25
 */
public class ComplexProcessWithRolesQueryVO implements Serializable {
    private static final long serialVersionUID = 8663362547833202315L;

    /**
     * 流程Key
     */
    @NotBlank(message = "ProcessKey不能为空")
    private String processKey;

    /**
     * 当前任务Id，如果不为空，查询结果中会返回当前的执行步骤
     */
    private String taskId;

    /**
     * 上级会员Id
     * <p>当大于0时，在内部流程中会返回用户角色名称</p>
     */
    private Long memberId;

    /**
     * 上级会员角色Id列表
     * <p>当不为空时，查询结果中的外部任务会返回上级会员角色名称</p>
     */
    private List<Long> roleIds;

    /**
     * 下级会员角色Id列表
     * <p>当不为空时，查询结果中的外部任务会返回下级会员角色名称</p>
     */
    private List<Long> subRoleIds;

    public String getProcessKey() {
        return processKey;
    }

    public void setProcessKey(String processKey) {
        this.processKey = processKey;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public List<Long> getRoleIds() {
        return roleIds;
    }

    public void setRoleIds(List<Long> roleIds) {
        this.roleIds = roleIds;
    }

    public List<Long> getSubRoleIds() {
        return subRoleIds;
    }

    public void setSubRoleIds(List<Long> subRoleIds) {
        this.subRoleIds = subRoleIds;
    }
}
